Software applications such as Graphical User Interfaces (GUIs) that display information about a program or a file system typically display the information using a particular display form. The system to be displayed is typically divided into objects that may be related to one or more other objects. A display element is an object or element that represents an object. The represented object may be any object used in the system being represented, such as an application file, database record or Java™ field. A display form determines how display elements are displayed. Some typical examples of display forms include a tree form, a cascade form and a list form. Each display element has a set of attributes that is determined by a particular display form; the set of attributes is independent from the object that is represented by the display element. These relationships are illustrated with reference to FIGS. 1-5, below.
FIG. 1 is a block diagram that illustrates a tree display form. Tree 100 represents a data hierarchy using NetBeans Explorer, available from Sun Microsystems of Palo Alto, Calif. Tree 100 includes display elements 102-150. Each display element has several properties. The single-valued properties include the name and icon. The multi-valued properties include the children, actions and referenced object properties. The children property includes display elements that are displayed under another display element. For example, the children property of display element 110 includes display elements 112 and 114. The “actions” property includes actions that may be performed on the display element. The actions may be displayed in a pop-up menu 152. As shown in FIG. 1, the actions available for display element 146 include Open 154, “Customize Bean” 156, Compile 158, Execute 160, Cut 162, Copy 164, New 166, Delete 168, Rename 170 and “Save as Template” 172. The referenced object properties are properties of the object represented by the display element. As shown in FIG. 1, the properties for the object represented by display element 146 are presented in a separate window 174.
FIG. 2 is a block diagram that illustrates another tree display form. Tree 200 represents a file system displayed using Microsoft Explorer, available from Microsoft Corporation of Redmond, Wash. The properties of display element 202 include the actions that can be performed on the display element, represented by pop-up menu 204. The properties of display element 202 also include the properties of the represented object, represented by window 206.
FIG. 2 also illustrates a containment relationship. A containment relationship shows the objects contained by another object. This relationship is typically displayed in the form of a tree. For example, folder beans 208 is “contained” by folder bdk1.1 (210) and folder bdk1.1 (210) is contained by folder 212.
FIG. 3 is a block diagram that illustrates a cascade display form. Unlike the tree display form, cascade display form 300 has only single-valued action attributes. The only action is the action performed when the user clicks on the element. The cascade display form 300 also has no referenced object properties. In other words, the cascade display form 300 does not display properties of the object represented by the display element.
FIG. 4 is a block diagram that illustrates a list display form. List display form 400 has the following single-valued attributes: display name, icon and type. The type attribute values are displayed in column 402. List display form 400 also includes a multi-valued “actions” attribute. The actions are for display element 404 displayed in pop-up menu 406.
FIG. 5 is a block diagram that illustrates another list display form. Display form 500 is the same as display form 400 in FIG. 4, except that list display form 500 has no “Type” property.
Present day software applications typically lack the ability to display multiple types of object relationships. What is needed is a solution that enables the display of selected object relationships. A further need exists for such a solution that is configurable and that provides for multiple ways of viewing object relationships within the same net.